#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int main()
{
	int n, x, y, flag = 0;
	scanf("%d", &n);

	for (int i = 1; i < sqrt(n); i++)
	{
		x = i;
		for (int j = i; j < sqrt(n); j++)  //确保j>=i
		{
			y = j;
			if (pow(x, 2) + pow(y, 2) == n)
			{
				printf("%d %d\n", x, y);
				flag++;
			}
		}
	}

	if (flag == 0)
		printf("No Solution");
	return 0;
}